package com.sf.fy.uav.applet.operate.service;

import com.sf.fy.uav.common.request.operate.WithdrawalRequest;
import com.sf.fy.uav.common.response.operational.CheckSigningResponse;
import com.sf.fy.uav.common.response.operational.RewardBillResponse;
import com.sf.fy.uav.common.response.operational.RewardDetailsResponse;
import com.sf.fy.uav.common.utils.Rs;
import org.springframework.web.bind.annotation.RequestParam;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author 01430312
 */
public interface ActivityService {
    /**
     * 获取奖励明细
     *
     * @param page
     * @param size
     * @param userId
     * @return
     */
    RewardDetailsResponse rewardDetails(@RequestParam Integer page, @RequestParam Integer size, String userId);


    /**
     * 获取奖励明细
     *
     * @param userId
     * @return
     */
    Long rewardDetailsTotal(String userId);

    /**
     * 获取账单
     *
     * @param userId
     * @return
     */
    Long getBillsCount(@RequestParam String userId);

    /**
     * 获取账单
     *
     * @param page
     * @param size
     * @param userId
     * @return
     */
    List<RewardBillResponse> getBills(@RequestParam Integer page, @RequestParam Integer size, @RequestParam String userId);

    /**
     * 检查是否签约
     *
     * @param userId
     * @return
     */
    CheckSigningResponse checkSigning(@RequestParam String userId);

    /**
     * 检查是否签约
     *
     * @param userId
     * @return
     */
    String getSigningUrl(@RequestParam String userId);

    /**
     * 获取签约信息
     *
     * @param qkPhone
     * @return
     */
    Object getSignInfo(@RequestParam String qkPhone);

    /**
     * 检查是否签约
     *
     * @param withdrawalRequest
     * @return
     */
    BigDecimal withdrawal(@RequestParam WithdrawalRequest withdrawalRequest);

    /**
     * 获取余额
     *
     * @param userId
     * @return
     */
    String getBalance(@RequestParam String userId);
//    BigDecimal getBalance(@RequestParam String userId);
}
